Risk-based testing

Risk-based testing (RBT) is a type of software testing that prioritizes the tests of features and functions based on the risk of their failure - a function of their importance and likelihood or impact of failure.[1][2][3][4] In theory, since there is an infinite number of possible tests, any set of tests must be a subset of all possible tests. Test techniques such as boundary value analysis and state transition testing aim to find the areas most likely to be defective.

Contents

Assessing risks

The changes between two releases or versions is key in order to asses risk. Evaluating critical business modules is a first step in prioritizing tests, but it does not include the notion of evolutionary risk. This is then expanded using two methods: change-based testing and regression testing.

These two methods permit test teams to prioritize tests based on risk, change and criticality of business modules. Certain technologies can make this kind of test strategy very easy to setup and to maintain with software changes.

Types of Risks

The methods assess risks along a variety of dimensions:

Business or Operational

Technical

External

E-Business Failure-Mode Related[5]

References